package com.字节流;

import java.io.FileInputStream;
import java.io.IOException;

/*字节流读数据 一次读一个字节数据*/
public class FileInputStreamDemo1 {
    public static void main(String[] args) throws IOException {
        //创建字节输入流对象
        FileInputStream fis = new FileInputStream("idea_test\\fos.txt");

        //调用读数据方法并将读到的数据输出

        //第一次读取数据
        /*int by = fis.read();
        System.out.println(by);
        System.out.println((char)by);//通过强制转换就可以看到字符h*/

        /*  fos.txt文件内容为"hello"，结果为104，正好为
        * h的ASCII码值，说明了read()只能读一次，且每次读一个字节数据*/

        //第n次读取数据
        /*  想要读取文件的所有信息，所以考虑到使用循环来实现，而
        read()方法:从该输入流读取一个字节的数据，到达文件末尾会返回-1，所以
        -1就是循环终止的条件*/
        /*int by = fis.read();
        while(by!=-1){
            System.out.print((char)by);
            by = fis.read();
        }*/

        /*IO写数据的标准操作：对上面循环的优化*/
            int by;
            while((by = fis.read())!=-1){
                System.out.print((char)by); //读数据时会自动读取换行，不需要加ln,\n
            }
        //释放资源
        fis.close();
    }
}
